The global nature of the web and the growing acceptance of electronic commerce have been instrumental in helping companies reach ever-wider markets. However, as their markets expand, it is becoming increasingly important for businesses to ensure that their products comply with local languages and customs.
Localization refers to the process of adapting a global product for the language and customs of a particular country. The localization of a software product embraces three components, namely, its graphical user interface (GUI), its online help system and its supporting documentation. A GUI typically comprises the menus, dialogue boxes, error messages, etc. that a user sees when using the software product. However, in practice, usually only a small portion of a GUI needs to be translated during localization (e.g., the text displayed in menus and dialogue boxes or error message boxes). In contrast, most of the content of an online help file must be translated (apart from hyperlinks etc). Supporting documentation includes user manuals, read_me files etc., wherein user manuals are usually highly formatted documents that must reach the target users and read_me files usually contain set-up information or additions to the user manuals. Normally, both forms of documentation must be almost entirely translated during localization. Localization also encompasses other issues apart from translation. For example, in the case of Arabic localization, some of the graphical elements (e.g., text fields or selection lists) in a GUI may not comply with Arabic textual rules (i.e. Arabic text is typically written from right to left rather than the Western approach of writing from left to right).
In view of the broad range of translatable components in a software product, localization costs can range from $50,000 to half a million dollars per language. This is clearly a significant expenditure for any product or marketing budget. Thus, before embarking on localization, it is necessary to calculate localization costs and expected revenue from a localized product to determine whether localization is, in fact, economically justifiable. Apart from purely financial considerations, it is worth bearing in mind that translation can take a considerable amount of time, which must be taken in account when planning a software development project. Thus, a project manager also needs an indication of the required time frame for localizing a particular design.
Furthermore, a project manager often has to calculate localization costs several times during a product development life-cycle, when, for example, the project manager receives product change requests from different stakeholders. In this case, the impact of the requested changes on the localization cost and time frame must be carefully evaluated.
In order to calculate the likely cost and time frame for localizing a software product, it is necessary to obtain a precise and reliable analysis of the quantity and the type of text to be translated therein. However, whilst there are a number of automatic tools currently available for calculating the localization cost for rendering GUI panels, there are, at present, no tools available for accurately and automatically determining the overall cost of localizing a software application. Thus, in the absence of such tools, project managers must use their own personal techniques for performing these calculations, a process which is both time-consuming and imprecise.
Furthermore, the process of designing a GUI is normally completely decoupled from that of determining localization costs. In particular, developers typically design their own GUIs (using for example Microsoft Visio®) and subsequently write the code therefore. It is only when the overall software product has been fully developed, that a resource file (containing the words to be translated) is created and a separate application used to count the words therein.
US Patent Application No. US20040167768 describes a parser that parses web pages in order to count the translatable words therein. However, the parser described in US20040167768 focuses on assessing web pages that have already been developed. This provides no assistance to a project-manager in making design decisions during the development phase of a software product.